package chapter11;

import javax.swing.*;
import java.awt.*;

/**
 * 组件在容器中的位置和尺寸是由布局管理器决定的，每当需要重新调整屏幕大小时，都要用到布局管理器。
 * Swing常用的布局管理器有4种，分别是
 *  FlowLayout（流式布局管理器）、
 *  BorderLayout（边界布局管理器）、
 *  GridLayout（网格布局管理器）、
 *  GridBagLayout（网格包布局管理器）。
 *
 * FlowLayout
 * FlowLayout属于流式布局管理器，是最简单的布局管理器。
 * 在这种布局下，容器会将组件按照添加顺序从左向右放置。
 * 当到达容器的边界时，自动将组件放到下一行的开始位置。
 */
class Example03 {
    public static void main(String[] args) {
        JFrame frame = new JFrame("hello world");
        //设置窗体中的布局管理器为FlowLayout，所有的组件居中对齐，水平和垂直间距为3
        frame.setLayout(new FlowLayout(FlowLayout.CENTER, 3, 3));
        JButton button = null;
        for (int i = 0; i < 9; i++) {
            button = new JButton("按钮" + i);
            frame.add(button);
        }
        frame.setSize(280, 250);
        frame.setVisible(true);
    }
}
